package com.ticket.system.service;

import java.util.List;

import com.ticket.common.core.domain.AjaxResult;
import com.ticket.system.domain.YanchuMoviegoer;
import com.ticket.system.domain.YanchuUserInfo;
import com.ticket.system.domain.vo.UserInfoVo;

/**
 * 常用观演人信息关联关系Service接口
 * 
 * @author ruoyi
 * @date 2023-10-20
 */
public interface IYanchuMoviegoerService 
{
    /**
     * 查询常用观演人信息关联关系
     * 
     * @param id 常用观演人信息关联关系主键
     * @return 常用观演人信息关联关系
     */
    public YanchuMoviegoer selectYanchuMoviegoerById(Long id);

    /**
     * 查询常用观演人信息关联关系列表
     * 
     * @param yanchuMoviegoer 常用观演人信息关联关系
     * @return 常用观演人信息关联关系集合
     */
    public List<YanchuMoviegoer> selectYanchuMoviegoerList(YanchuMoviegoer yanchuMoviegoer);

    /**
     * 新增常用观演人信息关联关系
     * 
     * @param yanchuMoviegoer 常用观演人信息关联关系
     * @return 结果
     */
    public int insertYanchuMoviegoer(YanchuMoviegoer yanchuMoviegoer);

    /**
     * 修改常用观演人信息关联关系
     * 
     * @param yanchuMoviegoer 常用观演人信息关联关系
     * @return 结果
     */
    public int updateYanchuMoviegoer(YanchuMoviegoer yanchuMoviegoer);

    /**
     * 批量删除常用观演人信息关联关系
     * 
     * @param ids 需要删除的常用观演人信息关联关系主键集合
     * @return 结果
     */
    public int deleteYanchuMoviegoerByIds(Long[] ids);

    /**
     * 删除常用观演人信息关联关系信息
     * 
     * @param id 常用观演人信息关联关系主键
     * @return 结果
     */
    public int deleteYanchuMoviegoerById(Long id);

    /**
     * 根据当前登录用户id查询关联的常用观演人信息
     *
     * @param curLoginUserId 当前登录用户id
     * @return
     */
    public List<UserInfoVo> selectMoviegoerByUserinfoId(Long curLoginUserId);

    /**
     * 添加常用观演人信息
     *
     * @param yanchuUserInfo 观演人信息
     * @param curLoginUserId 当前用户id
     * @return
     */
    public AjaxResult addMoviegoer(YanchuUserInfo yanchuUserInfo,Long curLoginUserId);

    /**
     * 常用观演人实名认证
     *
     * @param userName 姓名
     * @param idNumber 身份证号码
     * @return
     */
    public AjaxResult certification(String userName,String idNumber);
}
